package com.icexxx.mapper_gen;

import java.util.List;

import cn.hutool.core.util.StrUtil;

public interface CodeGen {
    public String genXml(String name, String comment, List<Param> paramList, Param returnParam, String nl);

    static CodeGen gen(String tageName) {
        if ("select".equals(tageName)) {
            return new SelectGen();
        }
        if ("update".equals(tageName)) {
            return new UpdateGen();
        }
        if ("insert".equals(tageName)) {
            return new InsertGen();
        }
        if ("delete".equals(tageName)) {
            return new DeleteGen();
        }
        return null;
    }

    public static String baseType(String type) {
        if (StrUtil.isBlank(type)) {
            return null;
        }
        if ("integer".equals(type)) {
            return "java.lang.Integer";
        }
        if ("long".equals(type)) {
            return "java.lang.Long";
        }
        if ("string".equals(type)) {
            return "java.lang.String";
        }
        if ("date".equals(type)) {
            return "java.util.Date";
        }
        if ("Integer".equals(type)) {
            return "java.lang.Integer";
        }
        if ("Long".equals(type)) {
            return "java.lang.Long";
        }
        if ("String".equals(type)) {
            return "java.lang.String";
        }
        if ("Date".equals(type)) {
            return "java.util.Date";
        }
        return null;
    }

}
